package org.jctc.els.modules.biz.service.projects.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.jctc.els.modules.biz.entity.projects.ElsReportGouzhiJfys;
import org.jctc.els.modules.biz.mapper.projects.ElsReportGouzhiJfysMapper;
import org.jctc.els.modules.biz.service.projects.IElsReportGouzhiJfysService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.stream.Collectors;

@Service
public class ElsReportGouzhiJfysServiceImpl implements IElsReportGouzhiJfysService {

    @Autowired
    private ElsReportGouzhiJfysMapper reportGouzhiJfysMapper;


    @Override
    public Integer saveList(List<ElsReportGouzhiJfys> elsReportGouzhiJfys) {
        int insert = 0;
        for (ElsReportGouzhiJfys elsReportGouzhiJfy : elsReportGouzhiJfys) {
            insert = reportGouzhiJfysMapper.insert(elsReportGouzhiJfy);
        }
        return insert;
    }

    @Override
    public Integer UpdateList(List<ElsReportGouzhiJfys> elsReportGouzhiJfys) {
        int insert = 0;
        if (elsReportGouzhiJfys.size() > 0 ) {
            reportGouzhiJfysMapper.deleteByIds(elsReportGouzhiJfys.get(0).getId());
            reportGouzhiJfysMapper.deleteBatchIds(elsReportGouzhiJfys.stream().map(ElsReportGouzhiJfys::getId).collect(Collectors.toList()));
            for (ElsReportGouzhiJfys elsReportGouzhiJfy : elsReportGouzhiJfys) {
                insert = reportGouzhiJfysMapper.insert(elsReportGouzhiJfy);
            }
        }
        return insert;
    }

    @Override
    public List<ElsReportGouzhiJfys> getListById(Long id) {
        return reportGouzhiJfysMapper.selectList(new QueryWrapper<ElsReportGouzhiJfys>().eq("id",id));
    }

    @Override
    public Boolean delGouZhi(Long id) {
        int i = reportGouzhiJfysMapper.deleteById(id);
        if (i>0) {
            return true;
        }
        return false;
    }

    @Override
    public Boolean updateGouZhi(ElsReportGouzhiJfys gouzhiJfys) {
        int i = reportGouzhiJfysMapper.updateById(gouzhiJfys);
        if (i>0) {
            return true;
        }
        return false;
    }
}
